package cn.jinjimi.app.main.adapter.recycler;


import android.support.v7.widget.RecyclerView;
import android.view.ViewGroup;

import java.util.List;

/**
 * Created by Roy
 * Date: 15/9/21
 * @author zhenhua
 */
public abstract class MyBaseRecyclerFrameAdapter<E, VH extends RecyclerView.ViewHolder> extends RecyclerView.Adapter<VH> {

    @Override
    public VH onCreateViewHolder(ViewGroup parent, int viewType) {
        return null;
    }

    @Override
    public void onBindViewHolder(VH holder, int position) {
    }

    /* 设置RecyclerView的Items数据 */
    public abstract void setItems(List<E> items);

    /* 追加RecyclerView的Items数据 */
    public abstract void addItems(List<E> items);

    /* 追加某个RecyclerView的Item数据 */
    public abstract void addItem(E item);

    /* 在某个RecyclerView顶部增加Items数据 */
    public abstract void addItemsInHead(List<E> items);

    /* 在某个RecyclerView顶部增加Item数据 */
    public abstract void addItemInHead(E item);

    /* 获取RecyclerView的Items数据 */
    public abstract List<E> getItems();

    /* 获取RecyclerView的指定位置Item数据 */
    public abstract E getItem(int position);

    /* 往RecyclerView插入一条数据 */
    public abstract void insert(E item, int index);

    /* 删除RecyclerView的一条数据 */
    public abstract void remove(E item);

    /* 删除RecyclerView的一条数据 */
    public abstract void remove(int position);

    /* 清空RecyclerView的Items数据 */
    public abstract void clearItems();

    /* 更新Items某个位置的数据*/
    public abstract void updateItem(int position,E item);

    @Override
    public int getItemCount() {
        return 0;
    }
}
